#ifndef __HWM_H__
#define __HWM_H__

#include <X11/keysym.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>
#include <xcb/xcb.h>
#include <xcb/xcb_aux.h>
#include <xcb/xcb_errors.h>
#include <xcb/xcb_keysyms.h>
#include <xcb/xkb.h>
#include <xcb/xcb_icccm.h>

typedef enum { h_true = 0x01, h_false = 0x02 } h_bool_t;

typedef struct wm {
        xcb_window_t root_;
        xcb_visualid_t visual_;
        xcb_atom_t WM_PROTOCOLS;
        xcb_atom_t WM_DELETE_WINDOW;
} wm_t;

typedef struct {
        int x, y;
} Vector2D;

typedef struct {
        int x, y;
} Position;

typedef struct {
        int w, h;
} Size;

extern void run(xcb_connection_t *c, int nbr);


extern xcb_errors_context_t *g_err_ctx;

#endif  // __HWM_H__
